package cn.bearspark.api.vo.main.danmu;

import cn.bearspark.api.controller.main.DanmuController;
import cn.bearspark.api.validation.Enumeration;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 发送弹幕请求的视图对象
 *
 * @author f
 */
@Data
public class SendDanmuVO {

    /**
     * 弹幕所属的视频的 id
     */
    @NotNull
    private Long videoId;

    /**
     * 弹幕的文本
     */
    @NotEmpty
    @NotBlank
    private String text;

    /**
     * 弹幕发送的时刻，单位：s
     */
    @NotNull
    private Integer time;

    /**
     * 弹幕的模式
     *
     * @see cn.bearspark.api.controller.main.DanmuController.DanmuModeEnum
     */
    @Enumeration(DanmuController.DanmuModeEnum.class)
    private Integer mode;

    /**
     * 弹幕的颜色
     */
    @NotNull
    @NotBlank
    private String color;
}
